1. Field of the Invention
The present invention relates generally to data networks and, more particularly, to redirect checking in a network device.
2. Description of Related Art
Conventional network devices, such as routers, transfer packets through a network from a source to a destination. Typically, a host device transmits a data packet to a router that performs a lookup to determine a destination for the data packet. The router often forwards the packet to other routers before the packet reaches its destination.
In some situations, the host device originating the data packet may not forward the data packet to the best router in the network (i.e., the router in the network located closest to the ultimate destination of the packet). In this case, a receiving router may forward the data packet to its appropriate next hop. The receiving router may also transmit a redirect message to the host device providing information regarding the best router in which to forward future data frames having similar destination information.
In conventional systems, redirect messages may be generated when a data packet is received on a wire (i.e., the shared network access medium) and transmitted out on the same wire. A drawback with this approach occurs when more than one subnet is coupled to the same wire. A subnet identifies a group of workstations/devices that share a common network address component (i.e., a portion of their network addresses are the same).
For example, when stations or host devices from different subnets are attached to the same shared network access medium, a first router in a communication path may send a redirect message to a second router that forwarded it a data packet, if the first router determines that the data packet came in and went out on the same interface. The second router, however, may ignore the redirect message since it merely forwarded the data packet from a host device that may be on another subnet or from another router. Sending redirect messages in this situation wastes processing time and increases network congestion since the redirect message is ultimately ignored.
Therefore, there exists a need for systems and methods that provide more efficient redirect checking to prevent generation and transmission of unnecessary redirect messages.